package java6699.nio2;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Scanner;

/**
 * @program: java_zzx
 * @description:
 * @author: zzx
 * @create: 2022-10-19 16:08
 **/
public class NIO2NewFile6699 {
    public static void main(String[] args) throws IOException {
        //输入要创建的文件
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入你要创建的目录文件：");
        String filename = sc.next();
        //排除输入为空以及输入空格的情况
        if (filename.isEmpty() || filename.contains(" ")) {
            System.out.println("输入错误，请输入正确的目录文件！");
        }else {
            Path path = Paths.get(filename);
            //判断文件是否存在
            if (!Files.exists(path)){
                Path parent = path.getParent();
                Path path1 = path.toAbsolutePath();
                //判断是否有父目录
                if (parent !=null && !Files.exists(parent)){
                    //解决练习题第2题中的【问题5】，使程序运行时不抛异常
                    if (!Files.exists(path1.getRoot())){
                        System.out.println(path1.getRoot() + "不存在");
                    }
                    Files.createDirectories(parent);
                    System.out.println("创建目录：" + parent.toAbsolutePath());
                }
                System.out.println("创建文件：" + Files.createFile(path));
            }else System.out.println("文件已存在");
        }
    }
}
